#define  _CRT_SECURE_NO_WARNINGS 1
//#include <iostream>
//#include <set>
//#include <map>
//using namespace std;
//const int INF = 1e7+10;
//int n;
//set<int>mp;
//
//
//int main()
//{
//	cin >> n;
//	int p;
//	cin >> p;
//	mp.insert(p);
//	mp.insert(-INF);
//    mp.insert(INF);
//	for(int i = 2; i <= n; i++)
//	{
//		int x;
//		cin >> x;
//		auto it = mp.lower_bound(x);
//		auto tmp = it;
//		tmp--;
//		
//		if(*it == x)
//		   continue;
//		p += min(abs(*it - x), abs(*tmp - x));
//		
//		mp.insert(x);
//		   
//		 
//		
//    }
//	
//	cout << p << endl;
//	return 0;
//}

//#include <iostream>
//#include<unordered_map>
//
//using namespace std;
//
//int main()
//{
//	unordered_map<string, int>mp;
//	int n;
//	cin >> n;
//	for (int i = 1; i <= n; i++)
//	{
//		int op;
//		string name;
//		int s;
//		cin >> op;
//		if (op == 1)
//		{
//
//			cin >> name >> s;
//			mp[name] = s;
//			cout << "OK" << endl;
//		}
//
//		else if (op == 2)
//		{
//			cin >> name;
//			if (mp.count(name))
//				cout << mp[name] << endl;
//			else
//				cout << "Not found" << endl;
//		}
//		else if (op == 3)
//		{
//			cin >> name;
//			if (mp.count(name))
//			{
//				mp.erase(name);
//				cout << "Deleted successfully" << endl;
//			}
//			else
//				cout << "Not found" << endl;
//
//		}
//		else
//			cout << mp.size() << endl;
//	}
//	return 0;
//}